#pragma once
#include "RNOH/arkui/ArkUINode.h"
#include "RNOH/arkui/NativeNodeApi.h"

class TransitionViewDelegate {
 public:
  virtual ~TransitionViewDelegate() = default;
  virtual void onTransitionClick(){};
};

namespace rnoh {
class TransitionViewNode : public ArkUINode {
 protected:
  TransitionViewDelegate* m_TransitionViewDelegate;

 public:
  TransitionViewNode();
  ~TransitionViewNode();

  void insertChild(ArkUINode& child, std::size_t index);
  void removeChild(ArkUINode& child);
  void onNodeEvent(ArkUI_NodeEventType eventType, EventArgs& eventArgs);
  TransitionViewNode& setLabel(const std::string &src);
  TransitionViewNode& setTransitionViewDelegate(TransitionViewDelegate* TransitionViewDelegate);
};
} // namespace rnoh